// ES6 实现类和继承

// 1、定义类

class Person {
    // 构造方法
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    // 实例方法（属于实例对象），是我们自定义方法
    say() {
        return "我叫" + this.name + "，我今年" + this.age + "岁。";
    }
}

let p1 = new Person("张三", 18);
console.log(p1.say());

// 2、继承

class Student extends Person {
    // 构造方法
    constructor(name, age, school) {
        // 通过 super 方法继承父类所有的属性
        super(name, age);
        // 子类可以拥有自己的属性，比如 school
        this.school = school;
    }

    // 子类也可以拥有自己的方法
    study() {
        return this.name + "正在" + this.school + "上学。";
    }
}

let luoyue = new Student("罗月", 18, "家里蹲大学");

console.log(luoyue.say());
console.log(luoyue.study());